Price X volume relative trade algoThe script multiplies the price time the volumes. Than relatively calculates whether the stock or product is oversold or overbought. One can subsequently set when to go short or when to go long. The way it works is that there is a small 1 for a long and a -1 for a short. If it is 1 and the followed by a 2 one has a profit. If a -1 is followed by a -2 you traded a short with a profit.
If however a 1 is followed by a -1 you lost a long. Vice verse for the short: if the -1 is followed by a 1 you have a loss.
Once can also set a target and arrange the stop loss they way you want. A little bit complicated with many parameters to set in the setting window. But for the one who has the patient to understand the script I believe it can be very useful.
Jan de Korver:
Search the secret www.behance.net
在腳本中搜尋"stop loss"
Bollinger + RSI, Double Strategy (by ChartArt)Bollinger Bands + RSI, Double Strategy
This strategy uses a slower RSI with period 16 to sell when the RSI increases over the value of 55 (or to buy when the value falls below 45), with the classic Bollinger Bands strategy to sell when the price is above the upper Bollinger Band and falls below it (and to buy when the price is below the lower band and rises above it). This strategy only triggers when both the RSI and the Bollinger Bands indicators are at the same time in the described overbought or oversold condition. In addition there are color alerts which can be deactivated.
This basic strategy is based upon the "RSI Strategy" and "Bollinger Bands Strategy" which were created by Tradingview and uses no money management like a trailing stop loss and no scalping methods. Every win/loss trade is simply counted from the last overbought/oversold condition to the next one.
This strategy does not use close prices from higher-time frame and should not repaint after the current candle has closed. It might repaint like every Tradingview indicator while the current candle hasn't closed.
All trading involves high risk; past performance is not necessarily indicative of future results. Hypothetical or simulated performance results have certain inherent limitations. Unlike an actual performance record, simulated results do not represent actual trading. Also, since the trades have not actually been executed, the results may have under- or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown.
Info TablesThis indicator provides two clear tables showing key market metrics, helping you make sense of price action. Each metric is chosen to give you practical insights, and you can customize the display to fit your needs.
## Key Features and Why Metrics Matter
### Main Table Metrics
- **ML-Predicted Price**:
- **What**: A price forecast based on a machine learning model using past price, volume, and RSI data.
- **Why**: Shows where the market might head, helping you gauge if the current price is too high or low compared to the prediction. Useful for spotting potential reversals or continuations.
- **Deviation %**:
- **What**: The percentage difference between the current price and the predicted price.
- **Why**: Tells you how far the market is straying from the ML forecast. A large deviation might suggest overbought/oversold conditions or a trend shift.
- **VWAP Deviation %**:
- **What**: The percentage difference between the current price and the Volume Weighted Average Price (VWAP).
- **Why**: VWAP is a benchmark for fair price; deviation shows if the market is stretched above or below this level, aiding entries or exits.
- **FRED UNRATE % Change**:
- **What**: The percentage change in the U.S. unemployment rate from FRED data.
- **Why**: Offers macro context. Rising unemployment can signal economic weakness, impacting market sentiment, while falling rates may boost confidence.
- **Open Interest**:
- **What**: The total number of open futures contracts for MESM2.
- **Why**: High open interest indicates strong market participation, often tied to liquidity and conviction. Low levels might suggest indecision or lack of commitment.
- **COT Commercial Long/Short**:
- **What**: Commitment of Traders (COT) data showing commercial traders’ long and short positions.
- **Why**: Reveals how big players (hedgers) are positioned. More longs than shorts can hint at bullish sentiment, while more shorts suggest bearish views.
### New Metrics Table
- **QQE Bias**:
- **What**: A momentum indicator based on a smoothed RSI with trailing stops.
- **Why**: Highlights bullish (green) or bearish (red) momentum, helping you confirm short-term trade directions or avoid choppy markets (gray).
- **Volume Momentum**:
- **What**: A score (1–20) comparing current volume to past volume over a lookback period.
- **Why**: High scores indicate strong buying/selling pressure, signaling potential breakouts or reversals. Low scores suggest weak participation.
- **ATR Volatility**:
- **What**: A score (1–20) based on the Average True Range, measuring price volatility.
- **Why**: High volatility warns of larger price swings, useful for setting stop-losses or avoiding trades in choppy conditions. Low volatility may indicate consolidation.
- **ADX Trend**:
- **What**: The Average Directional Index, measuring trend strength.
- **Why**: High ADX values confirm strong trends, guiding you to trade with the trend. Low values suggest range-bound markets, better for mean-reversion strategies.
- **RSI**:
- **What**: Relative Strength Index, showing overbought (>70) or oversold (<30) conditions.
- **Why**: Helps identify potential reversal points or confirm momentum. Useful for timing entries in overextended markets.
- **Frahm Volatility**:
- **What**: A score (1–20) based on true range over a time window (e.g., 24 hours).
- **Why**: Measures short-term volatility, helping you adjust position sizes or avoid trading during erratic price moves.
- **Frahm Avg Candle (Ticks)**:
- **What**: The average candle size in ticks over the same time window.
- **Why**: Indicates typical price movement, useful for setting realistic profit targets or stop-losses based on recent market behavior.
### Additional Features
- **Plotted Predicted Price**:
- **What**: An optional line showing the ML-predicted price on the chart.
- **Why**: Lets you visually compare the predicted price to actual price action, making it easier to spot divergence or alignment.
- **Custom Gradient Colors**:
- **What**: User-defined colors for high/low values in both tables.
- **Why**: Makes it quick to see which metrics are at extremes (e.g., high deviation or strong ADX), improving decision-making under pressure.
- **Alerts**:
- **What**: Notifications for high/low Frahm volatility and bullish/bearish QQE Bias.
- **Why**: Keeps you informed of critical changes (e.g., volatility spikes or momentum shifts) without needing to watch the chart constantly.
## Customization Options
- **ML Matrix Inputs**:
- Adjust the **ML Lookback Period** (e.g., 200–300 for volatile markets, 1000 for trends) to control how much history the ML model uses.
- Set the **ML RSI Period** (e.g., 7–10 for fast markets, 20 for calm) to tweak the RSI’s sensitivity in the prediction.
- **Plot Settings**:
- Toggle the predicted price line and choose its color (default blue) for clear visibility.
- **Table Settings**:
- Position tables (top/bottom, left/center/right) and show/hide them to focus on what matters.
- **Gradient Color Settings**:
- Pick colors for high/low values in each table to match your chart or preferences.
- **Timeframe & Thresholds**:
- Set specific timeframes (e.g., 5-minute for smoother data) and thresholds (e.g., tighter deviation ranges) for each metric to suit your trading style.
## Ideal Use Case
This indicator is perfect for MESM2 traders navigating fast-moving markets. The Main Table gives you a big-picture view (predicted price, macro data, and positioning), while the New Metrics Table zooms in on momentum and volatility, ideal for scalping or trend trades. Use it to confirm entries, set stops, or avoid choppy periods.
## Why It’s Valuable
The **ML Matrix - Tables Only** puts essential data at your fingertips. Each metric is selected to answer a specific question—Is the price overextended? Is momentum building? Are big players bullish? Are conditions too volatile?—helping you trade with clarity and confidence, whether you’re catching quick moves or riding longer trends.
Mahnam BTC with breake outThis strategy is designed and coded specifically for trading Bitcoin in the 15-minute timeframe.
Of course, those who are skilled in coding can use it in other timeframes and currencies by changing its codes and personalizing it.
Of course, it is strongly recommended that people who want to use it first perform the necessary backtests or test this strategy on demo sites and then trade on the Tetri platform.
In this strategy, it only checks the entry and exit conditions and connects to the exchange using the API code and trades completely automatically.
This strategy determines the stop loss and take profit points on the exchange at the same time as entering the transaction and sets them.
///////////////////////// Code ////////////////////////////////
//@version=5
// Copyright (c) 2021-present, Alex Orekhov (everget)
//indicator('HalfTrend and TMA', overlay=true , max_lines_count = 500, max_labels_count = 500)
strategy(title='Mahnam BTC with breake out', overlay=true , max_bars_back=5000 , max_labels_count= 500 , max_boxes_count = 500,max_lines_count = 500, initial_capital=1000, currency = currency.USDT, default_qty_type=strategy.cash )
import PineCoders/Time/4
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
newyork = '0000-2400' // input.session(title='Session', defval='0000-2400')
time_newyork = time(timeframe.period, newyork)
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// تعیین تاریخ شروع و پایان (بر حسب timestamp یونیکس)
// تنظیمات Input برای تاریخ شروع و پایان
startDate = input.time(timestamp('01 Jan 2025 00:00 UTC'), "📅 تاریخ شروع معاملات", inline="dateRange")
endDate = input.time(timestamp('31 Dec 2025 23:59 UTC'), "📅 تاریخ پایان معاملات", inline="dateRange")
// بررسی اینکه آیا زمان فعلی در بازه مجاز است یا خیر
isTradeEnabled = (time >= startDate) //and (time <= endDate)
///////////////////////////////////////////////////////////////////////////////////////////
// currentTime = time("15", "GMT+0")
// hourOfDay = hour(currentTime)
// notrade_hours1 = input.(12 , minval = 0 , maxval = 24 , title = "Hours Friday")
// notrade_hours2 = input.int(12 , minval = 0 , maxval = 24 , title = "Hours Monday")
////////////////////////////////////////////////////////////Holidays/////////////////////
// تعریف روزهای هفته
isSaturday = dayofweek == dayofweek.saturday //and hourOfDay > 12
isSunday = dayofweek == dayofweek.sunday
// isMonday = dayofweek == dayofweek.monday and hourOfDay < notrade_hours1
// isFriday = dayofweek == dayofweek.friday and hourOfDay > notrade_hours2
// رنگآمیزی پسزمینه برای شنبه (آبی کمرنگ) و یکشنبه (نارنجی کمرنگ)
bgcolor(isSaturday ? color.new(color.blue, 90) : isSunday ? color.new(color.orange, 90) : na)
//bgcolor(isMonday ? color.new(color.white, 90) : isFriday ? color.new(color.green, 90) : na)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//تنظیمات پوزیشن
leverage = input.int(defval = 10 , title = "leverage" , minval = 1 , maxval = 20,step = 5 , group="Posistion Settings==========================================")
quantity = input.float(defval = 500 , title = "quantity" , minval = 1, group="Posistion Settings==========================================")
sl_manager = input.float(defval = 0.5 , step = 0.1 , title = "Risk Percent Of Capital", group="Posistion Settings==========================================")
persent_fee = input.float(defval = 0.05 , title = "Persent Fee Eexchange" , minval = 0 , maxval = 1,step = 0.01 , group="Posistion Settings==========================================")
position_type = input.string(defval = "Buy_And_Sell" , title = "Position_type" , options = , group="Posistion Settings==========================================" )
r_r_long = input.float(defval = 2 , step = 0.1 , title = "R - R =>", group="Posistion Settings==========================================")
r_r_short = r_r_long // input.float(defval = 1.8 , step = 0.1 , title = "r_r Short =>")
//////////////////////////////////////////////////////// END ROC /////////////////////////////////////
day_of_week = input.bool(false , title = "Trade in 7 days", group="Posistion Settings==========================================")
show_tp_sl_ent = true // input.bool(defval=true, title= "Show Tp Sl Ent Box", group="Posistion Settings==========================================")
show_qty = true // input.bool(defval = true , title = "Show Qty Label", group="Posistion Settings==========================================")
//////////////////////////////////////////////////////// Information Position ////////////////////////////////////////////////////
var short_is_open = false
var long_is_open = false
//variant for sell position
var sl1 = 0.0
var tp1 = 0.0
var ent1 = 0.0
var equity1 = 0.0
var qty1 = ""
//variant for buy position
var sl3 = 0.0
var qty2 = ""
var tp3 = 0.0
var ent2 = 0.0
var equity2 = 0.0
symbol = str.tostring(syminfo.basecurrency + "-" + syminfo.currency )
////////////////////////////////////////////////////////////////////////////////////////////////////////
var long_condition = false
var short_condition = false
persent_candel = 0.7 // input.float(defval = 0.7 , step = 0.1 , title = "درصد حرکت آخرین کندل", group="CANDEL Settings==========================================")
////////////////////////////////////////////////////////////////////////////////////////////////////////
amplitude = 2 // input.int(title='Amplitude', defval=2)
channelDeviation =2 //input.int(title='Channel Deviation', defval=2)
showChannels =true // input.bool(title='Show Channels', defval=true)
var int trend = 0
var int nextTrend = 0
var float maxLowPrice = nz(low , low)
var float minHighPrice = nz(high , high)
var float up = 0.0
var float down = 0.0
float atrHigh = 0.0
float atrLow = 0.0
float arrowUp = na
float arrowDown = na
len_atr = 130 // input.int(130 , title = "Len Half Trend")
atr2 = ta.atr(len_atr) / 2
dev = channelDeviation * atr2
highPrice = high
lowPrice = low
highma = ta.sma(high, amplitude)
lowma = ta.sma(low, amplitude)
if nextTrend == 1
maxLowPrice := math.max(lowPrice, maxLowPrice)
if highma < maxLowPrice and close < nz(low , low)
trend := 1
nextTrend := 0
minHighPrice := highPrice
minHighPrice
else
minHighPrice := math.min(highPrice, minHighPrice)
if lowma > minHighPrice and close > nz(high , high)
trend := 0
nextTrend := 1
maxLowPrice := lowPrice
maxLowPrice
if trend == 0
if not na(trend ) and trend != 0
up := na(down ) ? down : down
arrowUp := up - atr2
arrowUp
else
up := na(up ) ? maxLowPrice : math.max(maxLowPrice, up )
up
atrHigh := up + dev
atrLow := up - dev
atrLow
else
if not na(trend ) and trend != 1
down := na(up ) ? up : up
arrowDown := down + atr2
arrowDown
else
down := na(down ) ? minHighPrice : math.min(minHighPrice, down )
down
atrHigh := down + dev
atrLow := down - dev
atrLow
//////////////////////////////////////////////////////////////////////////////////////////////////////////
len_rsi = 14 // input.int(14, group = "RSI Setting=================================")
rsi = ta.rsi(close , len_rsi)
//////////////////////////////////////////////////////////////////////////////////
// محاسبات مربوط به تعیین خطوط حمایت و مقاومت و شکست آنها
show_ATR = input.bool(false)
lookback_15 = 4 // input.int(4, title = "====>Look Back 1H=====>", inline = "2", group = "Setting Pivot======================", tooltip = "Drawing support and resistance in time frame 15 min in selected look back")
pl60 = fixnan(ta.pivotlow( low , lookback_15 , lookback_15 ))
ph60 = fixnan(ta.pivothigh( high , lookback_15 , lookback_15 ))
plot(show_ATR ? pl60 : na , color = color.red)
plot(show_ATR ? ph60 : na , color = color.green)
//////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
len_ema_fast_long = 2 // input.int(2)
sorce_tma_long = low // input.source(low)
ema_fast_long = ta.ema(sorce_tma_long , len_ema_fast_long)
len_ema_slow_long = 25 // input.int(25)
ema_slow_long = ta.ema(sorce_tma_long , len_ema_slow_long)
//**********************************
len_ema_fast_short = 2 // input.int(2)
sorce_tma_short = high // input.source(close)
ema_fast_short = ta.ema(sorce_tma_short , len_ema_fast_short)
len_ema_slow_short = 25 // input.int(25)
ema_slow_short = ta.ema(sorce_tma_short , len_ema_slow_short)
///////////////////////////////////////////////////////////////////////////////////////////////////////////
bars = 2 // input.int(9,title="Volume Previous bars to check")
//one_side = input.bool(false, title="Positive values only")
float volume_up = 0
float volume_down = 0
for i = 0 to bars
if (close >open )
volume_up:=volume_up+volume
else
volume_down:=volume_down+volume
total_up_down_vol= volume_up-volume_down
vol_bb = 8 // input.int(8)
vol_aa = 2 // input.int(2)
pivot_high_vol = fixnan(ta.pivothigh(total_up_down_vol , vol_bb , vol_aa ))
pivot_low_vol = fixnan(ta.pivotlow(total_up_down_vol , vol_bb , vol_aa ))
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
CLOSE = close
LOW = low
HIGH = high
//////////////////////////////////////////////////////////////////////////////////
//
//reg_trend_on = input(true, 'Activate Reg Trend Line')
length_bull_bear = 4 // input.int(defval= 4, title='🔹 Length Reg Trend line=', minval=1)
//
BullTrend_hist = 0.0
BearTrend_hist = 0.0
BullTrend = (CLOSE - ta.lowest(LOW, length_bull_bear)) / (ta.sma(ta.tr(true), length_bull_bear ))
BearTrend = (ta.highest(HIGH, length_bull_bear) - CLOSE) / (ta.sma(ta.tr(true), length_bull_bear ))
BearTrend2 = -1 * BearTrend
Trend = BullTrend - BearTrend
// plot columun
if BullTrend < 2
BullTrend_hist := BullTrend - 2
BullTrend_hist
if BearTrend2 > -2
BearTrend_hist := BearTrend2 + 2
BearTrend_hist
//alexgrover-Regression Line Formula
x = bar_index
y = Trend
x_ = ta.sma(x, length_bull_bear)
y_ = ta.sma(y, length_bull_bear)
mx = ta.stdev(x, length_bull_bear)
my = ta.stdev(y, length_bull_bear)
c = ta.correlation(x, y, length_bull_bear)
slope = c * (my / mx)
inter = y_ - slope * x_
reg_trend = x * slope + inter
/////////////////////////////////////////////////
long2 = true
short2 = true
close_H = request.security("" , "" , close )
open_H = request.security("" , "" , open )
if close_H > open_H and close_H > open_H
short2 := false
if close_H < open_H and close_H < open_H
long2 := false
nnn = 1.4 // input.float(1.4 , step = 0.1)
long_1 = BullTrend > nnn and ta.sma(reg_trend , 4 ) > ta.sma(reg_trend , 8 )
short_1 = BearTrend2 < -nnn and ta.sma(reg_trend , 4 ) < ta.sma(reg_trend , 8 )
///////////////////////////////////////////////////
lensig_mdi = 8 // input.int(8, title="ADX Smoothing", minval=1)
len_mdi = 2 // input.int(2, minval=1, title="DI Length")
up_mdi = ta.change(high)
down_mdi = -ta.change(low)
plusDM = na(up_mdi) ? na : (up_mdi > down_mdi and up_mdi > 0 ? up_mdi : 0)
minusDM = na(down_mdi) ? na : (down_mdi > up_mdi and down_mdi > 0 ? down_mdi : 0)
trur_mdi = ta.rma(ta.tr, len_mdi)
plus_mdi = fixnan(100 * ta.rma(plusDM, len_mdi) / trur_mdi)
minus_mdi = fixnan(100 * ta.rma(minusDM, len_mdi) / trur_mdi)
sum = plus_mdi + minus_mdi
adx = 100 * ta.rma(math.abs(plus_mdi - minus_mdi) / (sum == 0 ? 1 : sum), lensig_mdi)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// تنظیمات SuperTrend
atrPeriod = 28 // input(28, title="ATR Period Super Trend")
factor = 3 // input(3.0, title="Multiplier")
= ta.supertrend(factor, atrPeriod)
// تعریف تایمفریمهای بالاتر
htf0 = "30" // input.timeframe("30", title="تایمفریم تأیید اول (1H)")
htf1 = "60" // input.timeframe("60", title=" ایمفریم تأیید دوم (1H)")
htf2 = "240" // input.timeframe("240", title="تایمفریم تأیید سوم (4H)")
// محاسبه SuperTrend در تایمفریمهای بالاتر
supertrend1 = request.security(syminfo.tickerid, htf0, supertrend)
direction1 = request.security(syminfo.tickerid, htf0, direction)
supertrend1H = request.security(syminfo.tickerid, htf1, supertrend )
direction1H = request.security(syminfo.tickerid, htf1, direction)
supertrend4H = request.security(syminfo.tickerid, htf2, supertrend )
direction4H = request.security(syminfo.tickerid, htf2, direction)
// شرایط ورود
Condition_supertrend_long = (direction1H > 0 or direction4H > 0 or direction1 > 0) and volume > fixnan(ta.pivotlow(volume , 16 , 2 ))
Condition_supertrend_short = (direction1H < 0 or direction4H < 0 or direction1 < 0) and volume > fixnan(ta.pivotlow(volume , 16 , 2 ))
//////////////////////////////////////////////////////////////////////////////////////////////////////////
open_4h = request.security("" , "240" , open )
close_4h = request.security("" , "240" , close )
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
if day_of_week == false
if isTradeEnabled == true and time == time_newyork and not isSaturday and not isSunday //and not isFriday and not isMonday
long_condition := long_is_open == false and short_is_open == false and total_up_down_vol > pivot_low_vol and rsi > 51 and rsi < 80
and math.abs(close - open) < (persent_candel/100) * close and ema_fast_long > ema_slow_long and high > ph60 and open < ph60 and long_1 == true and long2 == true
and plus_mdi > minus_mdi and Condition_supertrend_long == true and high > close_4h and close > atrHigh
short_condition := long_is_open == false and short_is_open == false and total_up_down_vol > pivot_low_vol and rsi < 49 and rsi > 20
and math.abs(close - open) < (persent_candel/100) * close and ema_fast_short < ema_slow_short and low < pl60 and open > pl60 and short_1 == true and short2 == true
and plus_mdi < minus_mdi and Condition_supertrend_short == true and low < close_4h and close < atrLow
if day_of_week == true
if isTradeEnabled == true and time == time_newyork
long_condition := long_is_open == false and short_is_open == false and total_up_down_vol > pivot_low_vol and rsi > 51 and rsi < 80
and math.abs(close - open) < (persent_candel/100) * close and ema_fast_long > ema_slow_long and high > ph60 and open < ph60 and long_1 == true and long2 == true
and plus_mdi > minus_mdi and Condition_supertrend_long == true and high > close_4h and close > atrHigh
short_condition := long_is_open == false and short_is_open == false and total_up_down_vol > pivot_low_vol and rsi < 49 and rsi > 20
and math.abs(close - open) < (persent_candel/100) * close and ema_fast_short < ema_slow_short and low < pl60 and open > pl60 and short_1 == true and short2 == true
and plus_mdi < minus_mdi and Condition_supertrend_short == true and low < close_4h and close < atrLow
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//تنظیمات استاپ سل پوزیشن شورت و لانگ بر اساس ATR
length_atr = 2 // input.int(title='Length', defval=2, minval=1, group = "StopLoss Setting=================================")
m = 0.9 // input.float(0.9,step = 0.1,title = 'Multiplier', group = "StopLoss Setting=================================")
show_atr = false // input.bool(false, group = "StopLoss Setting=================================")
src1_atr = high //input(high , title = "Stoploss Short")
src2_atr = low //input(low ,title = "Stoploss Long")
collong_atr = color.rgb(0,255,0,0)
colshort_atr = color.rgb(255,0,0,0)
a1 = (ta.sma(ta.tr(true), length_atr) * m) / 2 + (ta.wma(ta.tr(true), length_atr) * m) / 2
stop_loss_short = src1_atr + a1
stop_loss_long = src2_atr - a1
p1_atr1 = plot(show_atr ? stop_loss_long : na, title='ATR Short Stop Loss', color=colshort_atr, style=plot.style_circles)
p2_atr1 = plot(show_atr ? stop_loss_short : na, title='ATR Long Stop Loss', color=collong_atr, style=plot.style_circles)
/////////////////////////////////////////////////////////////////Start Stop Loss///////////////////////////////////////////////
/////////////////////////////////////////////////////////////////END Stop Loss///////////////////////////////////////////////
var total_long_trade = 0
var loss_long = 0
var profit_long = 0
var sood_pos_long = 0.00
var zarar_pos_long = 0.00
var kol_sood_long = 0.00
var total_short_trade = 0
var loss_short = 0
var profit_short = 0
var sood_pos_short = 0.00
var zarar_pos_short = 0.00
var kol_sood_short = 0.00
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ━━━━━━━━━━━━━━━━━━ تنظیمات ورودی ━━━━━━━━━━━━━━━━━━
var int candlesToWait = 12 // input.int(1, "تعداد کندلهای انتظار پس از معامله", minval=1)
// ━━━━━━━━━━━━━━━━━━ شناسایی آخرین معامله ━━━━━━━━━━━━━━━━━━
var int lastTradeCloseBar = na
var bool isCoolDownOver = true
// اگر معاملهای بسته شد، شماره کندل آن را ذخیره کن
if strategy.closedtrades > 0 and (na(lastTradeCloseBar) or strategy.closedtrades != strategy.closedtrades )
lastTradeCloseBar := bar_index
isCoolDownOver := false
// بررسی آیا تعداد کندلهای موردنظر گذشته است؟
if not na(lastTradeCloseBar) and (bar_index - lastTradeCloseBar) >= candlesToWait
isCoolDownOver := true
bgcolor(isCoolDownOver ? na : color.new(color.red, 90), title="Cooldown Status")
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// تنظیمات دستورات لازم برای ارسال به صرافی جهت پوزیشن لانگ
//ADD_quantity = 1.5 // input.float(2 , title = "در صورت واگرایی ماجین رو چند بابر کنم؟")
if position_type == "Buy" or position_type == "Buy_And_Sell"
if long_condition and isCoolDownOver
ent2 := close
sl3 :=stop_loss_long - (stop_loss_long * (0.5 / leverage) / 100 )
tp3 := ent2 + ((ent2 - sl3) * r_r_long)
number_coin = ((quantity * leverage * sl_manager) / ((ent2 - sl3) *100))
equity2 := math.round ((number_coin * close ) , 3)
if equity2 > quantity * leverage
equity2 := quantity * leverage
//////////////////////////////////////////////////////////////////////////////////
if show_qty
label.new(bar_index , low , str.tostring(equity2) + "$" , color = color.rgb(0, 255, 0,0) , size = size.normal , style = label.style_label_up)
strategy.entry(id="buy", direction = strategy.long , qty=(equity2/close) )
if close >= 10 and close < 500
qty2 := str.tostring(math.round(equity2/close , 2))
else
qty2 := str.tostring(math.round(equity2/close , 0))
if close > 500
qty2 := str.tostring(math.round(equity2/close , 3 ))
if symbol == "AAVEUSDT"
qty2 := str.tostring(math.round(equity2/close , 1))
// ================/ برای باز کردن پوزیشن از این مقدار استفاده میکند /======================
message1 = '{"symbol":"'+symbol+'","type":"MARKET", "side":"BUY", "positionSide": "LONG", "quantity":"'+qty2+'","leverage": "'+str.tostring(leverage)+'","marginMode": "Isolated","botmix-action":"open-market-order-v2"}'
// message1 = '{ "side":"Ask","symbol":"'+symbol+'","tradeType":"Market","entrustVolume":"'+qty1+'","action":"Open","marginMode":"Isolated","leverage":"'+str.tostring(leverage)+'", "takerProfitPrice":"'+str.tostring(tp1)+'","stopLossPrice":"'+str.tostring(sl1)+'","botmix-action":"open-market-order" }'
// message1 = '{ "batchOrders": ,"botmix-action":"open-multiple-order" }'
alert(message1 , alert.freq_once_per_bar)
message2 = '{"symbol":"'+symbol+'","type":"LIMIT","side":"SELL", "positionSide": "LONG","delay": 5 ,"quantity":"'+qty2+'","price": "'+str.tostring(tp3)+'", "botmix-action":"open-market-order-v2"}'
alert(message2 , alert.freq_once_per_bar)
message3 = '{"symbol":"'+symbol+'","type":"STOP_MARKET","side":"SELL","positionSide": "LONG","delay": 10 ,"quantity":"'+qty2+'","price": "'+str.tostring(sl3)+'", "stopPrice": "'+str.tostring(sl3)+'","botmix-action":"open-market-order-v2"}'
alert(message3 , alert.freq_once_per_bar)
long_is_open := true
if show_tp_sl_ent
line.new(bar_index, tp3, bar_index + 15, tp3, xloc= xloc.bar_index, color= color.rgb(0, 255, 0,0 ), width = 1)
box.new(bar_index , tp3 , bar_index + 15 , ent2 ,bgcolor = color.rgb(0, 255, 0 , 90) , border_color = color.rgb(0, 255, 0 , 80) )
line.new(bar_index, (tp3 - ((tp3 - ent2) /2)), bar_index + 15, (tp3 - ((tp3 - ent2) /2)), xloc= xloc.bar_index, color= color.rgb(0, 17, 255), width = 2 , style = line.style_dashed)
line.new(bar_index, sl3, bar_index + 15, sl3, xloc= xloc.bar_index, color= color.rgb(255, 0, 0,0), width = 1)
box.new(bar_index , sl3 , bar_index + 15 , ent2 ,bgcolor = color.rgb(255, 0, 0, 90) , border_color = color.rgb(255, 0, 0 , 80) )
line.new(bar_index , ent2 , bar_index + 15 , ent2 , color = color.rgb(255, 255, 0, 0))
/////////////////////////////////////////////////////////
total_long_trade := total_long_trade + 1
if low <= sl3 and long_is_open == true
loss_long := loss_long + 1
zarar_pos_long := zarar_pos_long + (((ent2 - sl3) / ent2) * equity2)
if high >= tp3 and long_is_open == true
profit_long := profit_long + 1
sood_pos_long := sood_pos_long +(((tp3 - ent2) / ent2) * equity2)
kol_sood_long := sood_pos_long - zarar_pos_long
/////////////////////////////////////////////////////////////
if (low <= sl3 or high >= tp3) and long_is_open == true
long_is_open := false
strategy.exit( id = "buy" , from_entry = "buy" , limit = tp3 , stop = sl3 , qty_percent = 100 , comment_profit = "tp" , comment_loss = "sl" )
color_kol_pos_long = kol_sood_long >0 ? color.rgb(0,255,0) : color.rgb(255,0,0)
// //////////////////////LONG___ENNNDD//////////////////////////////////////////////////////////
// تظیمات دستورات لازم برای ارسال به صرافی جهت پوزیشن شورت
if position_type == "Sell" or position_type == "Buy_And_Sell"
if short_condition and isCoolDownOver
ent1 := close
sl1 :=stop_loss_short + (stop_loss_short * (0.5 / leverage) / 100 )
tp1 := ent1 - ((sl1 - ent1 ) * r_r_short)
number_coin = ((quantity * leverage * sl_manager) / ((sl1 - ent1) *100))
equity1 := math.round ((number_coin * close ) , 3)
if equity1 > quantity * leverage
equity1 := quantity * leverage
/////////////////////////////////////////////////////////////////////////////////////////
if show_qty
label.new(bar_index , high , str.tostring(equity1) + "$" , color = color.rgb(255, 0, 0,0) , size = size.normal , style = label.style_label_down)
strategy.entry(id="sell", direction = strategy.short, qty=(equity1/close) )
if close >= 10 and close < 500
qty1 := str.tostring(math.round(equity1/close , 2))
else
qty1 := str.tostring(math.round(equity1/close , 0))
if close > 500
qty1 := str.tostring(math.round(equity1/close , 3))
if symbol == "AAVEUSDT"
qty1 := str.tostring(math.round(equity1/close , 1))
// ================/ برای باز کردن پوزیشن از این مقدار استفاده میکند /======================
message1 = '{"symbol":"'+symbol+'","type":"MARKET", "side":"SELL", "positionSide": "SHORT", "quantity":"'+qty1+'","leverage": "'+str.tostring(leverage)+'","marginMode": "Isolated","botmix-action":"open-market-order-v2"}'
// message1 = '{ "side":"Ask","symbol":"'+symbol+'","tradeType":"Market","entrustVolume":"'+qty1+'","action":"Open","marginMode":"Isolated","leverage":"'+str.tostring(leverage)+'", "takerProfitPrice":"'+str.tostring(tp1)+'","stopLossPrice":"'+str.tostring(sl1)+'","botmix-action":"open-market-order" }'
// message1 = '{ "batchOrders": ,"botmix-action":"open-multiple-order" }'
alert(message1 , alert.freq_once_per_bar)
message2 = '{"symbol":"'+symbol+'","type":"LIMIT","side":"BUY", "positionSide": "SHORT","delay": 5 ,"quantity":"'+qty1+'","price": "'+str.tostring(tp1)+'", "botmix-action":"open-market-order-v2"}'
alert(message2 , alert.freq_once_per_bar)
message3 = '{"symbol":"'+symbol+'","type":"STOP_MARKET","side":"BUY","positionSide": "SHORT","delay": 10 ,"quantity":"'+qty1+'","price": "'+str.tostring(sl1)+'", "stopPrice": "'+str.tostring(sl1)+'","botmix-action":"open-market-order-v2"}'
alert(message3 , alert.freq_once_per_bar)
short_is_open := true
if show_tp_sl_ent
line.new(bar_index, tp1, bar_index + 15, tp1, xloc= xloc.bar_index, color= color.rgb(0, 255, 0,0 ), width = 1)
box.new(bar_index , tp1 , bar_index + 15 , ent1 ,bgcolor = color.rgb(0, 255, 0 , 90) , border_color = color.rgb(0, 255, 0 , 80) )
line.new(bar_index, (tp1+((ent1 - tp1)/2)), bar_index + 15, (tp1+((ent1 - tp1)/2)), xloc= xloc.bar_index, color= color.rgb(4, 0, 255), width = 2 , style= line.style_dashed)
line.new(bar_index, sl1, bar_index + 15, sl1, xloc= xloc.bar_index, color= color.rgb(255, 0, 0,50), width = 1)
box.new(bar_index , sl1 , bar_index + 15 , ent1 ,bgcolor = color.rgb(255, 0, 0, 90) , border_color = color.rgb(255, 0, 0 , 80) )
line.new(bar_index , ent1 , bar_index + 15 , ent1 , color = color.rgb(255, 255, 0,0))
////////////////////////////////////////////////////////////////////////////////////
total_short_trade := total_short_trade + 1
if high >= sl1 and short_is_open == true
loss_short := loss_long + 1
zarar_pos_short := zarar_pos_short + (((sl1 - ent1) / ent1) * equity1)
if low <= tp1 and short_is_open == true
profit_short := profit_short + 1
sood_pos_short := sood_pos_short +(((ent1 - tp1) / ent1) * equity1)
kol_sood_short := sood_pos_short - zarar_pos_short
///////////////////////////////////////////////////////////////////////////////////
if (high >= sl1 or low <= tp1 ) and short_is_open == true
short_is_open := false
strategy.exit( id = "sellext1" , from_entry = "sell" , limit = tp1 , stop = sl1 , qty_percent = 100 , comment_profit = "tp" , comment_loss = "sl" )
color_kol_pos_short = kol_sood_short > 0 ? color.rgb(0,255,0) : color.rgb(255,0,0)
////////////////////////////////////////////////////////////////////////////////////////////
kol_trade = loss_short + loss_long + profit_long + profit_short
/////////////////////SHORT___ENNNDD//////////////////////////////////////////////////////
closed_trades = (loss_short + loss_long + profit_long + profit_short) // strategy.closedtrades
kolfee = (closed_trades * quantity * leverage * persent_fee) / 100
net_profit = math.round((kol_sood_short + kol_sood_long) , 2 ) - kolfee
net_percent = math.round((net_profit / quantity) * 100 , 2)
win_rate = math.round(((profit_long + profit_short) / kol_trade) * 100 , 2) //math.round((strategy.wintrades / strategy.closedtrades) * 100 , 2)
ending = math.round((quantity + net_profit) , 2)
profit_factor = math.round((sood_pos_long + sood_pos_short) / math.abs(zarar_pos_long + zarar_pos_short) , 2)
drow_down = math.round((strategy.max_drawdown / quantity) * 100, 2 )
show_reportTabel = input.bool(true)
if show_reportTabel
table_color = color.rgb(0, 0, 0)
var table result_table = table.new(position.top_right, 30, 40, bgcolor=color.rgb(255,255,255,0), frame_color=color.rgb(0, 0, 0,0), frame_width=1, border_width=2)
table.cell(result_table , column = 0 , row = 0 , text = "TEST BTC with breake out:\n" + str.tostring(kol_trade) , bgcolor = table_color , text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 1 , row = 0 , text = "starting:\n" + str.tostring(quantity) + "$" , bgcolor = table_color, text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 2 , row = 0 , text = "Net Profit:\n" + str.tostring(net_profit) + "$:\n" + " fee = " + str.tostring(kolfee) , bgcolor = table_color, text_color = net_profit > 0 ? color.rgb(0,255,0,0) : color.rgb(255,0,0,0))
table.cell(result_table , column = 0 , row = 1 , text = "Win Rate:\n" + str.tostring(win_rate) + "%" , bgcolor = table_color, text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 1 , row = 1 , text = "Ending:\n" + str.tostring(ending) + "$" , bgcolor = table_color, text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 2 , row = 1 , text = "Profit Factor:\n" + str.tostring(profit_factor) , bgcolor = table_color, text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 3 , row = 0 , text = "Net Percent:\n" + str.tostring(net_percent) + "%" , bgcolor = table_color, text_color = net_percent > 0 ? color.rgb(0,255,0,0) : color.rgb(255,0,0,0))
table.cell(result_table , column = 3 , row = 1 , text = "Draw Down:\n" + str.tostring(drow_down) + "%" , bgcolor = table_color, text_color = color.rgb(255,255,255,0))
table.cell(result_table , column = 4 , row = 0 , text = "Stop:\n" + "Short =" + str.tostring(loss_short)+ "\n" +"Long =" + str.tostring(loss_long) , bgcolor = table_color, text_color = color.rgb(255,0,0,0))
table.cell(result_table , column = 4 , row = 1 , text = "TP:\n" + "Short =" + str.tostring(profit_short)+ "\n" +"Long =" + str.tostring(profit_long) , bgcolor = table_color, text_color = color.rgb(0,255,0,0))
table.cell(result_table , column = 5 , row = 0 , text = "Short:\n" + "sood =" + str.tostring(math.round(sood_pos_short,2)) + "\n" + "Zarar =" + str.tostring(math.round(zarar_pos_short,2)) , bgcolor = table_color, text_color = color.rgb(0,255,0,0))
table.cell(result_table , column = 5 , row = 1 , text = "Long:\n" + "sood =" + str.tostring(math.round(sood_pos_long,2)) + "\n" + "Zarar =" + str.tostring(math.round(zarar_pos_long,2)) , bgcolor = table_color, text_color = color.rgb(0,255,0,0))
table.cell(result_table , column = 6 , row = 0 , text = "Kol Sood Short:\n" + "Short =" + str.tostring(math.round(kol_sood_short,2)) , bgcolor = table_color, text_color = color_kol_pos_short)
table.cell(result_table , column = 6 , row = 1 , text = "Kol Sood Long:\n" + "LONG =" + str.tostring(math.round(kol_sood_long,2)) , bgcolor = table_color, text_color = color_kol_pos_long)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //////////////////////////////////////////////////////////////////////////////////////////////////////
// // ********** تنظیمات **********
// show_monthly_Report = input.bool(false, "نمایش گزارش ماهیانه")
// exchange_fee_percent = 0.05 / 100 // input.float(0.05, "کارمزد صرافی (%)", step=0.01) / 100
// indicator_name = 'BTC with breake out' // input.string("تحلیلگر حرفه ای - گزارش ماهیانه", "عنوان اندیکاتور")
// show_total_row = true // input.bool(true, "نمایش سطر جمع کل")
// // ********** ایجاد جدول **********
// var table monthlyReport = table.new(position = position.top_right, columns = 6,rows = 21,bgcolor = color.rgb(33, 33, 33),
// border_width = 2,border_color = color.rgb(80, 80, 80),frame_width = 1,frame_color = color.rgb(50, 50, 50))
// // ********** متغیرهای ماهیانه **********
// var int currentMonth = na
// var int monthTrades = 0
// var int monthWinningTrades = 0
// var float totalFees = 0.0
// var float monthNetProfit = 0.0
// // ********** متغیرهای جمع کل **********
// var float totalAllTrades = 0.0
// var float totalAllFees = 0.0
// var float totalAllNetProfit = 0.0
// var int totalAllWinningTrades = 0
// var int totalAllMonths = 0
// // ********** تشخیص تغییر ماه **********
// isNewMonth = ta.change(month) or ta.change(year)
// // ********** محاسبات معاملات **********
// tradeClosed = strategy.closedtrades > strategy.closedtrades
// if tradeClosed
// lastTradeIndex = strategy.closedtrades - 1
// tradeSize = math.abs(strategy.closedtrades.size(lastTradeIndex) * strategy.closedtrades.exit_price(lastTradeIndex))
// tradeFee = tradeSize * exchange_fee_percent
// totalFees := totalFees + tradeFee
// tradeProfit = strategy.closedtrades.profit(lastTradeIndex)
// monthNetProfit := monthNetProfit + tradeProfit
// monthTrades := monthTrades + 1
// if tradeProfit > 0
// monthWinningTrades := monthWinningTrades + 1
// // ********** مدیریت گزارش ماهیانه **********
// if isNewMonth and show_monthly_Report and not na(currentMonth)
// // محاسبات ماهانه
// grossProfit = monthNetProfit
// netProfit = grossProfit - totalFees
// winRate = monthTrades > 0 ? (monthWinningTrades/monthTrades)*100 : 0
// // به روزرسانی جمع کل
// totalAllTrades := totalAllTrades + monthTrades
// totalAllFees := totalAllFees + totalFees
// totalAllNetProfit := totalAllNetProfit + netProfit
// totalAllWinningTrades := totalAllWinningTrades + monthWinningTrades
// totalAllMonths := totalAllMonths + 1
// // نمایش در جدول
// row = (month % 12 == 0 ? 12 : month % 12) + 2 // +2 برای جا دادن سطرهای عنوان
// monthName = str.tostring(year ) + "-" + str.tostring(month , "00")
// table.cell(monthlyReport, 0, row, monthName, text_color=color.white)
// table.cell(monthlyReport, 1, row, str.tostring(monthTrades), text_color=color.white)
// table.cell(monthlyReport, 2, row, str.tostring(grossProfit, "0.00") + " $")
// table.cell(monthlyReport, 3, row, str.tostring(totalFees, "0.00") + " $")
// table.cell(monthlyReport, 4, row, str.tostring(netProfit, "0.00") + " $")
// table.cell(monthlyReport, 5, row, str.tostring(winRate, "1.0") + "%")
// // رنگ آمیزی سود/زیان
// textColor = netProfit >= 0 ? color.rgb(0, 200, 0) : color.rgb(200, 0, 0)
// for i = 2 to 5
// table.cell_set_text_color(monthlyReport, i, row, textColor)
// // ********** سطر جمع کل **********
// if show_monthly_Report and show_total_row and totalAllMonths > 0
// totalWinRate = totalAllTrades > 0 ? (totalAllWinningTrades/totalAllTrades)*100 : 0
// table.cell(monthlyReport, 0, 15, "جمع کل (" + str.tostring(totalAllMonths) + " ماه)",
// text_color=color.yellow,
// bgcolor=color.rgb(50, 50, 50),
// width=6)
// table.cell(monthlyReport, 1, 15, str.tostring(totalAllTrades),
// text_color=color.yellow,
// bgcolor=color.rgb(50, 50, 50))
// table.cell(monthlyReport, 2, 15, str.tostring(totalAllNetProfit + totalAllFees, "0.00") + " $",
// text_color=color.yellow,
// bgcolor=color.rgb(50, 50, 50))
// table.cell(monthlyReport, 3, 15, str.tostring(totalAllFees, "0.00") + " $",
// text_color=color.yellow,
// bgcolor=color.rgb(50, 50, 50))
// table.cell(monthlyReport, 4, 15, str.tostring(totalAllNetProfit, "0.00") + " $",
// text_color = totalAllNetProfit >= 0 ? color.green : color.red,
// bgcolor=color.rgb(50, 50, 50))
// table.cell(monthlyReport, 5, 15, str.tostring(totalWinRate, "1.0") + "%",
// text_color=color.yellow,
// bgcolor=color.rgb(50, 50, 50))
// // ********** ریست ماهیانه **********
// if isNewMonth
// currentMonth := month
// monthTrades := 0
// monthWinningTrades := 0
// totalFees := 0.0
// monthNetProfit := 0.0
// // ********** عنوانهای جدول **********
// if barstate.isfirst and show_monthly_Report
// // عنوان اصلی (یکپارچه در سطر اول)
// table.cell(
// monthlyReport,
// column = 4, // ستون شروع (0 = اولین ستون)
// row = 0, // ردیف 0 (اولین ردیف)
// text = indicator_name,
// bgcolor = color.rgb(0, 0, 0),
// text_size = size.small,
// text_color = color.rgb(255,255,0),
// width = 12, // گسترش روی تمام 6 ستون
// height = 4 // ارتفاع بیشتر برای وضوح بهتر
// )
// // عنوان ستونها (در ردیف دوم)
// headers = array.from("ماه", "تعداد", "سود ناخالص", "کارمزد", "سود خالص", "نرخ برد")
// for i = 0 to 5
// table.cell(
// monthlyReport,
// column = i,
// row = 1, // ردیف بعد از عنوان اصلی
// text = array.get(headers, i),
// text_color = color.white,
// bgcolor = color.rgb(60, 60, 60),
// width = 1 // عرض معمولی برای هر ستون
// )
Breakout Confirmation🔍 Indicator Name: Breakout Confirmation (Body + Volume)
📌 Purpose:
This indicator is designed to detect high-probability breakout setups based on price structure and volume strength. It identifies moments when the market breaks through a key support or resistance level, confirmed by two consecutive strong candles with large real bodies and high volume.
⚙️ How It Works
1. Support and Resistance Detection
The indicator uses pivot points to identify potential horizontal support and resistance levels.
A pivot high or pivot low is considered valid if it stands out over a configurable number of candles (default: 50).
Only the most recent valid support and resistance levels are tracked and displayed as horizontal lines on the chart.
2. Breakout Setup
The breakout condition is defined as:
First Candle (Breakout Candle):
Large body (compared to the recent body average)
High volume (compared to the recent volume average)
Must close beyond a resistance or support level:
Close above resistance (bullish breakout)
Close below support (bearish breakout)
Second Candle (Confirmation Candle):
Also must have a large body and high volume
Must continue in the direction of the breakout (i.e., higher close in bullish breakouts, lower close in bearish ones)
3. Signal Plotting
If both candles meet the criteria, the indicator plots:
A green triangle below the candle for bullish breakouts
A red triangle above the candle for bearish breakouts
📈 How to Interpret the Signals
✅ Green triangle below a candle:
Indicates a confirmed bullish breakout.
The price has closed above a recent resistance level with strength.
The trend may continue higher — possible entry for long positions.
🔻 Red triangle above a candle:
Indicates a confirmed bearish breakout.
The price has closed below a recent support level with strength.
Potential signal to enter short or exit long positions.
⚠️ The plotted horizontal lines show the last key support and resistance levels. These are the zones being monitored for breakouts.
📊 How to Use It
Timeframe: Works best on higher timeframes (1H, 4H, Daily), but can be tested on any chart.
Entry: Consider entries after the second candle confirms the breakout.
Stop Loss:
For longs: Below the breakout candle or the broken resistance
For shorts: Above the breakout candle or broken support
Take Profit:
Based on previous structure, risk:reward ratios, or using trailing stops.
Filter with Trend or Other Indicators (optional):
You can combine this with moving averages, RSI, or market structure for confluence.
🛠️ Customization Parameters
lengthSR: How many candles to look back for identifying support/resistance pivots.
volLength: Length of the moving average for volume and body size comparison.
bodyMultiplier: Multiplier threshold to define a “large” body.
volMultiplier: Multiplier threshold to define “high” volume.
✅ Ideal For:
Price action traders
Breakout traders
Traders who use volume analysis
Anyone looking to automate the detection of breakout + confirmation setups
IU Market Rhythm WaveDESCRIPTION:
The IU Market Rhythm Wave is a multi-dimensional indicator designed to reveal the underlying rhythm and energy of the market. By analyzing price momentum, harmonic oscillations, volume behavior, and market breadth, it helps traders identify high-quality long and short wave signals. It also visualizes rhythm bands, wave strength zones, and harmonic levels to provide comprehensive context for decision-making.
This tool is best used on trending instruments where rhythm cycles and volume patterns create clear wave-based opportunities.
USER INPUTS:
Rhythm Cycle Length
Controls the main lookback period used to calculate price waves, harmonic oscillation, volume rhythm, and breath. A longer cycle smooths signals, while a shorter cycle makes them more responsive. Recommended range: 8 to 35.
Wave Signal Strength
Multiplies the standard deviation of rhythm to define dynamic breakout thresholds. A higher value results in fewer but stronger signals, filtering out minor fluctuations.
Harmonic Filter
Applies a sensitivity filter to the harmonic mean and standard deviation. It helps eliminate weak or noisy signals and ensures rhythm-based signals align with harmonic structure.
Show Wave Energy Zones
Toggles background color shading based on current rhythm conditions. Greenish zones indicate strong upward rhythm, red for strong downward rhythm, yellow for positive bias, and gray for weak or neutral zones.
Show Rhythm Bands
Enables the display of upper and lower rhythm bands derived from ATR and rhythm volatility. These bands act as dynamic price envelopes and potential support/resistance zones.
Wave Zone Opacity
Adjusts the transparency of background energy zones, allowing users to control how prominent these zones appear on the chart. Range: 60 to 90 for optimal visibility.
INDICATOR LOGIC:
The indicator combines multiple rhythmic components into a composite rhythm score:
1. Price Wave – Based on momentum (rate of price change) smoothed by a moving average.
2. Harmonic Oscillation – Measures how far price has deviated from a central harmonic average (HLC3).
3. Volume Rhythm – Uses volume’s deviation from its mean, standardized by its volatility.
4. Market Breath – Captures range expansion and closing strength relative to range.
These elements form the Raw Rhythm, which is further smoothed to produce the Market Rhythm. When the rhythm exceeds statistically calculated thresholds and other conditions like volume confirmation and harmonic proximity are met, wave signals are triggered.
Harmonic Fibonacci levels (0.236, 0.382, 0.618, 0.764) are also calculated every rhythm cycle to identify nearby structural price zones. Signals occurring near these levels are considered more reliable.
The Rhythm Bands use ATR and rhythm strength to define dynamic boundaries above and below price. Visual zones and arrows mark rhythm shifts and highlight the underlying energy of the market.
WHY IT IS UNIQUE:
This indicator goes beyond traditional oscillators or volume indicators by blending multiple market dimensions into one rhythmic framework. It adapts to volatility, applies harmonic structure awareness, and filters signals based on real-time market conditions. It offers:
* A unique rhythm-based view of price, volume, and volatility
* Dynamic, adaptive signal generation and zone coloring
* Visual analytics and contextual data in a summary table
* Signal filtering using harmonic alignment and market breath
Its real-time responsiveness and multi-layered logic make it suitable for intraday, swing, and positional traders.
HOW USER CAN BENEFIT FROM IT:
* Spot high-conviction long or short entries when rhythm, volume, and structure align
* Avoid low-quality trades during weak or noisy rhythm periods
* Use visual wave zones to gauge trend strength and rhythm direction
* Monitor harmonic proximity to enter or exit near key structural levels
* Apply rhythm bands for dynamic stop-loss and target setting
* Use rhythm direction arrows and analytics table to gain deeper market insight
DISCLAIMER:
This indicator is created for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any asset. All trading involves risk, and users should conduct their own analysis or consult with a qualified financial advisor before making any trading decisions. The creator is not responsible for any losses incurred through the use of this tool. Use at your own discretion.
Mariam Smart FlipPurpose
This tool identifies high-probability intraday reversals by detecting when price flips through the daily open after strong early-session commitment.
How It Works
A valid flip occurs when:
The previous daily candle is bullish or bearish
The first hour today continues in the same direction
Then, the price flips back through the daily open with a minimum break threshold (user-defined)
This setup is designed to catch liquidity grabs or fakeouts near the daily open, where early buyers or sellers get trapped after showing commitment
Signal Logic
Buy Flip
Previous day bearish → first hour bearish → price flips above open
Sell Flip
Previous day bullish → first hour bullish → price flips below open
Features
Configurable flip threshold in percentage
Signals only activate after the first hour ends
Daily open line displayed on chart
Simple triangle markers with no visual clutter
Alerts ready to use for automation or notifications
Usage Tips
Use "Once Per Bar" alert mode to get notified immediately when the flip happens
Works best in active markets like FX, indices, or crypto
Adjust threshold based on asset volatility
Suggested stop loss: use the previous daily high for sell flips or the previous daily low for buy flips
Suggested take profit: secure at least 30 pips to aim for a 1:3 risk-to-reward ratio on average
OpenAI Signal Generator - Enhanced Accuracy# AI-Powered Trading Signal Generator Guide
## Overview
This is an advanced trading signal generator that combines multiple technical indicators using AI-enhanced logic to generate high-accuracy trading signals. The indicator uses a sophisticated combination of RSI, MACD, Bollinger Bands, EMAs, ADX, and volume analysis to provide reliable buy/sell signals with comprehensive market analysis.
## Key Features
### 1. Multi-Indicator Analysis
- **RSI (Relative Strength Index)**
- Length: 14 periods (default)
- Overbought: 70 (default)
- Oversold: 30 (default)
- Used for identifying overbought/oversold conditions
- **MACD (Moving Average Convergence Divergence)**
- Fast Length: 12 (default)
- Slow Length: 26 (default)
- Signal Length: 9 (default)
- Identifies trend direction and momentum
- **Bollinger Bands**
- Length: 20 periods (default)
- Multiplier: 2.0 (default)
- Measures volatility and potential reversal points
- **EMAs (Exponential Moving Averages)**
- Fast EMA: 9 periods (default)
- Slow EMA: 21 periods (default)
- Used for trend confirmation
- **ADX (Average Directional Index)**
- Length: 14 periods (default)
- Threshold: 25 (default)
- Measures trend strength
- **Volume Analysis**
- MA Length: 20 periods (default)
- Threshold: 1.5x average (default)
- Confirms signal strength
### 2. Advanced Features
- **Customizable Signal Frequency**
- Daily
- Weekly
- 4-Hour
- Hourly
- On Every Close
- **Enhanced Filtering**
- EMA crossover confirmation
- ADX trend strength filter
- Volume confirmation
- ATR-based volatility filter
- **Comprehensive Alert System**
- JSON-formatted alerts
- Detailed technical analysis
- Multiple timeframe analysis
- Customizable alert frequency
## How to Use
### 1. Initial Setup
1. Open TradingView and create a new chart
2. Select your preferred trading pair
3. Choose an appropriate timeframe
4. Apply the indicator to your chart
### 2. Configuration
#### Basic Settings
- **Signal Frequency**: Choose how often signals are generated
- Daily: Signals at the start of each day
- Weekly: Signals at the start of each week
- 4-Hour: Signals every 4 hours
- Hourly: Signals every hour
- On Every Close: Signals on every candle close
- **Enable Signals**: Toggle signal generation on/off
- **Include Volume**: Toggle volume analysis on/off
#### Technical Parameters
##### RSI Settings
- Adjust `rsi_length` (default: 14)
- Modify `rsi_overbought` (default: 70)
- Modify `rsi_oversold` (default: 30)
##### EMA Settings
- Fast EMA Length (default: 9)
- Slow EMA Length (default: 21)
##### MACD Settings
- Fast Length (default: 12)
- Slow Length (default: 26)
- Signal Length (default: 9)
##### Bollinger Bands
- Length (default: 20)
- Multiplier (default: 2.0)
##### Enhanced Filters
- ADX Length (default: 14)
- ADX Threshold (default: 25)
- Volume MA Length (default: 20)
- Volume Threshold (default: 1.5)
- ATR Length (default: 14)
- ATR Multiplier (default: 1.5)
### 3. Signal Interpretation
#### Buy Signal Requirements
1. RSI crosses above oversold level (30)
2. Price below lower Bollinger Band
3. MACD histogram increasing
4. Fast EMA above Slow EMA
5. ADX above threshold (25)
6. Volume above threshold (if enabled)
7. Market volatility check (if enabled)
#### Sell Signal Requirements
1. RSI crosses below overbought level (70)
2. Price above upper Bollinger Band
3. MACD histogram decreasing
4. Fast EMA below Slow EMA
5. ADX above threshold (25)
6. Volume above threshold (if enabled)
7. Market volatility check (if enabled)
### 4. Visual Indicators
#### Chart Elements
- **Moving Averages**
- SMA (Blue line)
- Fast EMA (Yellow line)
- Slow EMA (Purple line)
- **Bollinger Bands**
- Upper Band (Green line)
- Middle Band (Orange line)
- Lower Band (Green line)
- **Signal Markers**
- Buy Signals: Green triangles below bars
- Sell Signals: Red triangles above bars
- **Background Colors**
- Light green: Buy signal period
- Light red: Sell signal period
### 5. Alert System
#### Alert Types
1. **Signal Alerts**
- Generated when buy/sell conditions are met
- Includes comprehensive technical analysis
- JSON-formatted for easy integration
2. **Frequency-Based Alerts**
- Daily/Weekly/4-Hour/Hourly/Every Close
- Includes current market conditions
- Technical indicator values
#### Alert Message Format
```json
{
"symbol": "TICKER",
"side": "BUY/SELL/NONE",
"rsi": "value",
"macd": "value",
"signal": "value",
"adx": "value",
"bb_upper": "value",
"bb_middle": "value",
"bb_lower": "value",
"ema_fast": "value",
"ema_slow": "value",
"volume": "value",
"vol_ma": "value",
"atr": "value",
"leverage": 10,
"stop_loss_percent": 2,
"take_profit_percent": 5
}
```
## Best Practices
### 1. Signal Confirmation
- Wait for multiple confirmations
- Consider market conditions
- Check volume confirmation
- Verify trend strength with ADX
### 2. Risk Management
- Use appropriate position sizing
- Implement stop losses (default 2%)
- Set take profit levels (default 5%)
- Monitor market volatility
### 3. Optimization
- Adjust parameters based on:
- Trading pair volatility
- Market conditions
- Timeframe
- Trading style
### 4. Common Mistakes to Avoid
1. Trading without volume confirmation
2. Ignoring ADX trend strength
3. Trading against the trend
4. Not considering market volatility
5. Overtrading on weak signals
## Performance Monitoring
Regularly review:
1. Signal accuracy
2. Win rate
3. Average profit per trade
4. False signal frequency
5. Performance in different market conditions
## Disclaimer
This indicator is for educational purposes only. Past performance is not indicative of future results. Always use proper risk management and trade responsibly. Trading involves significant risk of loss and is not suitable for all investors.
CISD Levels by HAZEDCISD Levels by HAZED - Advanced Market Structure Analysis
📊 Overview
The CISD Levels indicator is a sophisticated market structure analysis tool that automatically identifies and plots critical support and resistance levels based on Change in State Direction (CISD) methodology. This indicator helps traders visualize key market turning points and potential breakout/breakdown levels with precision.
🎯 What are CISD Levels?
CISD (Change in State Direction) levels represent significant price points where market sentiment shifts from bullish to bearish or vice versa. These levels are dynamically calculated based on:
Market structure breaks (higher highs/lower lows)
Pullback patterns and trend continuations
Real-time price action analysis
Dynamic level updates as market conditions evolve
✨ Key Features
🔥 Smart Level Detection
Automatically identifies bullish (+CISD) and bearish (-CISD) levels
Real-time updates as market structure evolves
Intelligent pullback detection algorithm
🎨 Full Customization
Colors: Customize bullish/bearish level colors
Line Styles: Choose from solid, dotted, or dashed lines
Text Labels: Fully customizable text, size, and font options
Transparency: Adjustable line transparency (0-100%)
Extensions: Control how far lines extend into the future
📈 Historical Analysis
Show All Levels: Option to display historical CISD levels
Max Levels Control: Limit the number of historical levels shown (1-50)
Level Management: Automatic cleanup of old levels
🚨 Smart Alerts
Bullish Alerts: Get notified when price breaks above +CISD levels
Bearish Alerts: Get notified when price breaks below -CISD levels
Alert Frequency: Choose between "Once Per Bar" or "Once Per Bar Close"
📊 Statistics Table
Market State: Current bullish/bearish market condition
Active Levels: Count of currently active CISD levels
Latest Levels: Display of most recent +CISD and -CISD values
Positioning: 5 different table positions available
🛠️ How to Use
For Swing Traders:
Use CISD levels as key support/resistance zones
Enter positions on level breaks with proper risk management
Set stop losses below/above opposite CISD levels
For Day Traders:
Watch for price reactions at CISD levels
Use levels for entry/exit timing
Combine with volume analysis for confirmation
For Position Traders:
Identify major market structure changes
Use higher timeframe CISD levels for strategic entries
Monitor level breaks for trend continuation signals
⚙️ Settings Guide
CISD Level Settings
Bullish/Bearish Colors: Customize level appearance
Custom Text: Add your own labels to levels
Alert Setup: Enable notifications for level breaks
Historical Levels: Choose to show past levels for context
Appearance Customization
Line Width: 1-5 pixel thickness options
Line Style: Solid, dotted, or dashed
Extension Bars: Control future projection (1-50 bars)
Text Options: Size, font, and bold formatting
Statistics Table
Enable/Disable: Toggle table visibility
Position: 5 placement options on chart
Real-time Data: Live market state and level information
🎯 Best Practices
Multi-Timeframe Analysis: Use CISD levels across different timeframes for confluence
Risk Management: Always use proper position sizing and stop losses
Confirmation: Combine with volume, momentum, or other indicators
Market Context: Consider overall market conditions and news events
Backtesting: Test the levels on historical data before live trading
📋 Technical Specifications
Overlay: True (plots directly on price chart)
Max Lines: 500 (handles multiple historical levels)
Max Labels: 500 (supports extensive labeling)
Real-time Updates: Dynamic level calculation and alerts
Performance: Optimized code for smooth chart operation
🚀 Why Choose CISD Levels?
Precision: Advanced algorithm for accurate level identification
Flexibility: Extensive customization options for any trading style
Reliability: Proven market structure analysis methodology
User-Friendly: Intuitive settings with helpful tooltips
Professional: Clean, professional appearance on any chart
📞 Support & Updates
This indicator is actively maintained and updated. For questions, suggestions, or feature requests, feel free to reach out through TradingView messaging.
⚠️ Disclaimer: This indicator is for educational and informational purposes only. Always conduct your own analysis and risk management. Past performance does not guarantee future results.
5EMA_BB_ScalpingWhat?
In this forum we have earlier published a public scanner called 5EMA BollingerBand Nifty Stock Scanner , which is getting appreciated by the community. That works on top-40 stocks of NSE as a scanner.
Whereas this time, we have come up with the similar concept as a stand-alone indicator which can be applied for any chart, for any timeframe to reap the benifit of reversal trading.
How it works?
This is essentially a reversal/divergence trading strategy, based on a widely used strategy of Power-of-Stocks 5EMA.
To know the divergence from 5-EMA we just check if the high of the candle (on closing) is below the 5-EMA. Then we check if the closing is inside the Bollinger Band (BB). That's a Buy signal. SL: low of the candle, T: middle and higher BB.
Just opposite for selling. 5-EMA low should be above 5-EMA and closing should be inside BB (lesser than BB higher level). That's a Sell signal. SL: high of the candle, T: middle and lower BB.
Along with we compare the current bar's volume with the last-20 bar VWMA (volume weighted moving average) to determine if the volume is high or low.
Present bar's volume is compared with the previous bar's volume to know if it's rising or falling.
VWAP is also determined using `ta.vwap` built-in support of TradingView.
The Bolling Band width is also notified, along with whether it is rising or falling (comparing with previous candle).
What's special?
We love this reversal trading, as it offers many benifits over trend following strategies:
Risk to Reward (RR) is superior.
It _Does Hit_ stop losses, but the stop losses are tiny.
Means, althrough the Profit Factor looks Nahh , however due to superior RR, end of day it ended up in green.
When the day is sideways, it's difficult to trade in trending strategies. This sort of volatility, reversal strategies works better.
It's always tempting to go agaist the wind. Whole world is in Put/PE and you went opposite and enter a Call/CE. And turns out profitable! That's an amazing feeling, as a trader :)
How to trade using this?
* Put any chart
* Apply this screener from Indicators (shortcut to launch indicators is just type / in your keyboard).
* It will show you the Green up arrow when buy alert comes or red down arrow when sell comes. * Also on the top right it will show the latest signal with entry, SL and target.
Disclaimer
* This piece of software does not come up with any warrantee or any rights of not changing it over the future course of time.
* We are not responsible for any trading/investment decision you are taking out of the outcome of this indicator.
ORB 5M + VWAP + Braid Filter + TP 2R o Niveles PreviosORB 5-Minute Breakout Strategy Summary
Strategy Name:
ORB 5M + VWAP + Braid Filter + TP 2R or Previous Levels
Timeframe:
5-minute chart
Trading Window:
9:35 AM to 11:00 AM (New York time)
✅ Entry Conditions:
Opening Range: Defined from 9:30 to 9:35 AM (first 5-minute candle).
Breakout Entry:
Long trade: Price breaks above the opening range high.
Short trade: Price breaks below the opening range low.
Confirmation Filters (All must be met):
Strong candle (green for long, red for short).
VWAP in the direction of the trade.
Braid Filter by Mango2Juice supports the breakout direction (green for long, red for short).
📉 Stop Loss:
Placed at the opposite side of the opening range.
🎯 Take Profit (TP):
+2R (Risk-to-Reward Ratio of 2:1),
or
Closest of the following: previous day’s high/low or premarket levels.
⚙️ Additional Rules:
Only valid signals between 9:35 and 11:00 AM.
Only one trade per breakout direction per day.
Filter out "trap candles" (very small or indecisive candles).
Avoid trading after 11:00 AM.
📊 Performance Goals:
Maintain a high Profit Factor (above 3 ideally).
Focus on tickers with good historical performance under this strategy (e.g., AMZN, PLTR, CVNA).
SMPivot Gaussian Trend Strategy [Js.K]This open-source strategy combines a Gaussian-weighted moving average with “Smart Money” swing-pivot breaks (BoS = Break-of-Structure) to capture trend continuations and early reversals. It is intended for educational and research purposes only and must not be interpreted as financial advice.
How the logic works
-------------------
1. Gaussian Moving Average (GMA)
• A custom Gaussian kernel (length = 30 by default) smooths price while preserving turning points.
• A second pass (“Smoothed GMA”) further filters noise; only its direction is used for bias.
2. Swing-Pivot detection
• High/Low pivots are found with a symmetric look-back/forward window (Pivot Length = 20).
• The most recent confirmed pivot creates a dynamic structure level (UpdatedHigh / UpdatedLow).
3. Entry rules
Long
• Price closes above the most recent pivot high **and** above Smoothed GMA.
Short
• Price closes below the most recent pivot low **and** below Smoothed GMA.
4. Exit rules
• Fixed stop-loss and take-profit in percent of current price (user-defined).
• Separate parameters and on/off switches for longs and shorts.
5. Visuals
• GMA (dots) and Smoothed GMA (line).
• Structure break lines plus “BoS PH/PL” labels at the midpoint between pivot and break.
Inputs
------
Gaussian
• Gaussian Length (default 30) – smoothing window.
• Gaussian Scatterplot – toggle GMA dots.
Smart-Money Pivot
• Pivot Length (default 20).
• Bull / Bear colors.
Risk settings
• Long / Short enable.
• Individual SL % and TP % (default 1 % SL, 30 % TP).
• Strategy uses percent-of-equity sizing; initial capital defaults to 10 000 USD.
Adjust these to reflect your own account size, realistic commission and slippage.
Best practice & compliance notes
--------------------------------
• Test on a data sample that yields ≥ 100 trades to obtain statistically relevant results.
• Keep risk per trade below 5–10 % of equity; the default values comply with this guideline.
• Explain any custom settings you publish that differ from the defaults.
• Do **not** remove the code header or licence notice (MPL-2.0).
• Include realistic commission and slippage in your back-test before publishing.
• The script does **not** repaint; orders are processed on bar close.
Usage
-----
1. Add the script to any symbol / timeframe; intraday and swing timeframes both work—adjust lengths accordingly.
2. Configure SL/TP and position size to match your personal risk management.
3. Run “List of trades” and the performance summary to evaluate expectancy; forward-test before live use.
Disclaimer
----------
Trading involves substantial risk. Past performance based on back-testing is not necessarily indicative of future results. The author is **not** responsible for any financial losses arising from the use of this script.
Best SMA FinderThis script, Best SMA Finder, is a tool designed to identify the most robust simple moving average (SMA) length for a given chart, based on historical backtest performance. It evaluates hundreds of SMA values (from 10 to 1000) and selects the one that provides the best balance between profitability, consistency, and trade frequency.
What it does:
The script performs individual backtests for each SMA length using either "Long Only" or "Buy & Sell" logic, as selected by the user. For each tested SMA, it computes:
- Total number of trades
- Profit Factor (total profits / total losses)
- Win Rate
- A composite Robustness Score, which integrates Profit Factor, number of trades (log-scaled), and win rate.
Only SMA configurations that meet the user-defined minimum trade count are considered valid. Among all valid candidates, the script selects the SMA length with the highest robustness score and plots it on the chart.
How to use it:
- Choose the strategy type: "Long Only" or "Buy & Sell"
- Set the minimum trade count to filter out statistically irrelevant results
- Enable or disable the summary stats table (default: enabled)
The selected optimal SMA is plotted on the chart in blue. The optional table in the top-right corner shows the corresponding SMA length, trade count, Profit Factor, Win Rate, and Robustness Score for transparency.
Key Features:
- Exhaustive SMA optimization across 991 values
- Customizable trade direction and minimum trade filters
- In-chart visualization of results via table and plotted optimal SMA
- Uses a custom robustness formula to rank SMA lengths
Use cases:
Ideal for traders who want to backtest and auto-select a historically effective SMA without manual trial-and-error. Useful for swing and trend-following strategies across different timeframes.
📌 Limitations:
- Not a full trading strategy with position sizing or stop-loss logic
- Only one entry per direction at a time is allowed
- Designed for exploration and optimization, not as a ready-to-trade system
This script is open-source and built entirely from original code and logic. It does not replicate any closed-source script or reuse significant external open-source components.
Triple Confirmation Scalper v2 - Alarm CompatibleTriple Confirmation Scalper Strategy
A high-probability scalping strategy combining trend momentum, overbought/sold conditions, and volume confirmation to filter low-noise signals.
📊 Strategy Logic
Trend Direction
Dual EMA crossover (9 & 21 periods) for momentum and trend bias.
Overbought/Oversold Zones
RSI (14-period) to avoid entries at extremes.
Volume Spike Filter
OBV + 20-period volume average to confirm breakout validity.
Dynamic Risk Management
Stop-loss: Adaptive to recent price action (5-candle low/high ±1%).
Take-profit: 1.5% target (1.5:1 risk/reward).
🔍 Advanced Features
Precision VWAP (20-period, HLC3-based) for dynamic S/R levels.
Visual Aids:
EMA/VWAP bands + trend-colored background.
Volume spike alerts.
TradingView Alerts pre-configured for long/short signals.
⚙️ Default Settings
Commission: 0.1% factored into backtests.
Mode: Supports both long/short positions.
⚠️ Disclaimer
This is a technical analysis tool, not financial advice.
Past performance ≠ future results. Test thoroughly in a demo account.
Adjust parameters (e.g., EMA periods, RSI thresholds) to match your risk tolerance.
✅ TradingView Compliance Notes:
No exaggerated claims (e.g., "100% win rate").
Clear disclaimer included.
Focus on objective strategy logic (no promotional language).
DM Support / Resistance (USA Session)This indicator is specifically designed for use on the 4-hour time frame and helps traders identify key support and resistance levels during the USA trading session (9:30 AM to 4:00 PM Eastern Time). The indicator calculates important price levels to assist in making well-informed entry and exit decisions, particularly for those focusing on swing trades or longer-term intraday strategies. It also includes a feature to skip setups when relevant fundamental news is scheduled, ensuring you avoid trading during periods of high volatility.
Key Features:
Support and Resistance Levels (S1 & R1):
The indicator calculates and displays Support 1 (S1) and Resistance 1 (R1) levels, which act as key barriers for price action and help traders spot potential reversal or breakout zones on the chart.
Pivot Point (PP):
The Pivot Point (PP) is calculated as the average of the previous period's high, low, and close. It serves as a central reference point for market direction, allowing traders to evaluate whether the market is in a bullish or bearish trend.
Market Bias:
The Bias is shown as a histogram that helps traders assess the strength of the market trend. A positive bias suggests bullish sentiment, while a negative bias signals bearish conditions. This can be used to confirm the overall trend direction.
4-Hour Time Frame:
The indicator is optimized for the 4-hour time frame, making it suitable for traders looking for swing trades or those who wish to capture longer-term trends within the USA session. The key support, resistance, and pivot levels are recalculated dynamically to reflect price action over 4-hour periods.
Dynamic Plotting and Alerts:
Support and resistance levels are drawn as dashed horizontal lines, updating in real-time to reflect the most current market data during the USA session. Alerts can be set for significant price movements crossing these levels.
Stop-Loss Strategy Based on 15-Minute Time Frame:
A unique feature of this indicator is its stop-loss strategy, which uses 15-minute time frame support and resistance levels. When a long or short entry is triggered on the 4-hour chart, traders should place their stop-loss according to the relevant 15-minute support or resistance level.
If the price closes above the 15-minute support for a long entry, or closes below the 15-minute resistance for a short entry, it signals the need to exit or adjust your position based on these levels.
Fundamental News Filter:
To avoid unnecessary risk, the indicator incorporates a fundamental news filter. If there is relevant news scheduled during the USA session, such as high-impact economic data or central bank announcements, the indicator will skip the setup for that period. This prevents traders from entering positions during times of elevated volatility caused by news events, which could result in unpredictable price movements.
How to Use:
Long Entry: When the Bias is positive and the price breaks above Support 1 (S1), this signals a potential bullish move. Consider entering a long position at this point.
Stop-Loss Strategy: Set your stop-loss at the respective 15-minute support level. If the price closes below this level, it could signal a reversal, prompting you to exit the trade.
Short Entry: When the Bias is negative and the price breaks below Resistance 1 (R1), this signals a potential bearish move. Enter a short position at this point.
Stop-Loss Strategy: Set your stop-loss at the respective 15-minute resistance level. If the price closes above this level, exit the short trade as it could indicate a bullish reversal.
Pivot Point (PP): The Pivot Point serves as a reference level to gauge potential price reversals. A move above the PP suggests a bullish bias, while trading below the PP suggests a bearish outlook.
Bias Histogram: The Bias Histogram helps confirm trend direction. A positive bias confirms long positions, while a negative bias reinforces short trades.
Avoid Trading During High-Impact News: If there is significant economic news or fundamental events scheduled during the USA session, the indicator will automatically skip any potential setup. This feature ensures you avoid entering trades that might be affected by unexpected news-driven volatility, keeping your trading strategy safer and more reliable.
Why Use This Indicator:
The 4-hour time frame is ideal for traders who prefer swing trading or those looking to capture longer-term trends in a structured manner. This indicator provides crucial insights into market direction, support/resistance levels, and potential entry/exit points.
The stop-loss management based on the 15-minute support and resistance levels helps traders protect their positions from sudden price reversals, ensuring more precise risk management.
The fundamental news filter is particularly useful for avoidance of high-risk periods. By skipping setups during high-impact news events, traders can avoid entering trades when price volatility could be unpredictable.
Overall, this indicator is a powerful tool for traders who want to make data-driven decisions based on technical analysis while ensuring that their positions are managed responsibly and avoiding news-driven risk.
EMA 10/55/200 - LONG ONLY MTF (4h with 1D & 1W confirmation)Title: EMA 10/55/200 - Long Only Multi-Timeframe Strategy (4h with 1D & 1W confirmation)
Description:
This strategy is designed for trend-following long entries using a combination of exponential moving averages (EMAs) on the 4-hour chart, confirmed by higher timeframe trends from the daily (1D) and weekly (1W) charts.
🔍 How It Works
🔹 Entry Conditions (4h chart):
EMA 10 crosses above EMA 55 and price is above EMA 55
OR
EMA 55 crosses above EMA 200
OR
EMA 10 crosses above EMA 500
These entries indicate short-term momentum aligning with medium/long-term trend strength.
🔹 Confirmation (multi-timeframe alignment):
Daily (1D): EMA 55 is above EMA 200
Weekly (1W): EMA 55 is above EMA 200
This ensures that we only enter long trades when the higher timeframes support an uptrend, reducing false signals during sideways or bearish markets.
🛑 Exit Conditions
Bearish crossover of EMA 10 below EMA 200 or EMA 500
Stop Loss: 5% below entry price
⚙️ Backtest Settings
Capital allocation per trade: 10% of equity
Commission: 0.1%
Slippage: 2 ticks
These are realistic conditions for crypto, forex, and stocks.
📈 Best Used On
Timeframe: 4h
Instruments: Trending markets like BTC/ETH, FX majors, or growth stocks
Works best in volatile or trending environments
⚠️ Disclaimer
This is a backtest tool and educational resource. Always validate on demo accounts before applying to real capital. Do your own due diligence.
Crypto Strategy SUSDT 10 minThis strategy is designed to trade the **SUSDT** pair on a **10-minute time frame**, using a combination of an Exponential Moving Average (EMA) and percentage-based Stop Loss (SL) and Take Profit (TP) levels.
### How the strategy works:
1. **EMA Calculation**:
- The strategy calculates a 24-period Exponential Moving Average (EMA) based on the closing price.
- This EMA serves as the primary trend indicator.
2. **Entry Conditions**:
- **Long Position**: A long position is entered when the closing price is above the EMA and the opening price is below the EMA. This indicates a potential upward trend.
- **Short Position**: A short position is entered when the closing price is below the EMA and the opening price is above the EMA. This indicates a potential downward trend.
3. **Stop Loss and Take Profit**:
- Both Stop Loss (SL) and Take Profit (TP) are calculated based on the entry price of the position.
- **For Long Positions**:
- Stop Loss is set as a percentage below the entry price.
- Take Profit is set as a percentage above the entry price.
- **For Short Positions**:
- Stop Loss is set as a percentage above the entry price.
- Take Profit is set as a percentage below the entry price.
- The percentage values for SL and TP can be adjusted in the strategy's settings (default: SL = 2%, TP = 4%).
4. **Exit Conditions**:
- The position is closed automatically when either the Stop Loss or Take Profit level is reached.
5. **Visualization**:
- The 24-period EMA is plotted on the chart as a blue line, helping visualize the trend direction.
### Key Features:
- **Pair and Time Frame**: The strategy is optimized for the SUSDT pair on a 10-minute time frame.
- **Customizable Parameters**: Users can adjust the Stop Loss and Take Profit percentages to suit their risk tolerance and trading style.
- **Trend-Following Approach**: The strategy uses the EMA to identify and follow the current market trend.
This strategy is simple yet effective for capturing trends while managing risk through predefined Stop Loss and Take Profit levels.
Price and Volume Breakout - Jemmy TradeThe "Price and Volume Breakout" indicator is designed to identify potential breakout opportunities by analyzing both price and volume trends. It uses a combination of historical price highs, volume peaks, and a customizable Simple Moving Average (SMA) to signal bullish breakouts. When the price exceeds the highest price of the defined breakout period and is supported by high volume, the indicator triggers visual alerts on the chart. These include dotted lines, labels, and boxes highlighting accumulation zones, along with dynamically calculated stop loss and take profit levels.
Key Features:
• Breakout Detection: Compares the current closing price to the highest price and volume over specified periods to signal a breakout.
• Customizable Stop Loss Options: Offers three methods for setting stop loss levels:
o Below SMA: Positions stop loss a user-defined percentage below the SMA.
o Lowest Low: Uses the lowest low over a specific look-back period.
o Range Average: Calculates an average based on the previous price range.
• Dynamic Take Profit Calculation: Automatically computes take profit levels based on the defined risk-to-reward ratio.
• Visual Chart Elements: Draws breakout lines, stop loss and take profit indicators, labels (e.g., "🚀 Breakout Buy", "🔴 Stop Loss", "🟢 Take Profit"), and boxes marking accumulation zones for easy visualization.
• Alert Conditions: Includes alert functionality to notify traders when breakout conditions are met, enabling timely trading decisions.
How to Use:
1. Customization: Adjust settings such as the breakout periods for price and volume, the length of the SMA, stop loss options, and the risk-to-reward ratio to fit your trading strategy.
2. Signal Identification: When the price exceeds the highest value from the previous period, accompanied by high volume and confirmation from the SMA, the indicator displays a "Breakout Buy" signal.
3. Risk Management: The indicator calculates appropriate stop loss and take profit levels automatically based on your selected parameters, ensuring a balanced risk/reward setup.
4. Alerts: Utilize the built-in alert conditions to receive notifications whenever the breakout criteria are satisfied, helping you act promptly.
PLEASE USE IT AS PER YOUR OWN RISK MANAGEMENT STRATEGIES.
Keywords:
#Breakout #Trading #VolumeAnalysis #TechnicalAnalysis #PriceAction #RiskManagement #TrendFollowing #TradingSignals #PriceBreakout #SmartTrading #JemmyTrade
Fibonacci & Bollinger Bands StrategyTrading System: Fibonacci & Bollinger Bands Strategy
1. Session Timing
Trade only from 1 PM onwards.
Identify the first candle on the 1 PM vertical line to set the market direction.
If it's a bullish candle, look for buy opportunities.
If it's a bearish candle, look for sell opportunities.
2. Fibonacci Retracement as a Measuring Tool
Identify the recent swing high and swing low before the 1 PM session.
Draw Fibonacci retracement levels from low to high (for buys) or high to low (for sells).
Key retracement levels to watch: 0.0%, 50.0%, and 100.0%.
Entries can be placed at 0.0% or 50.0%, aiming for a move toward 100.0% retracement.
3. Bollinger Bands Confirmation
If the Bollinger Bands are above price, expect a downward move (sell).
If the Bollinger Bands are below price, expect an upward move (buy).
Use this as additional confirmation for your Fibonacci-based trade.
4. Entry & Exit Rules
Entry:
If the 1 PM candle confirms a bullish bias, enter long near Fibonacci 0.0% or 50.0%.
If the 1 PM candle confirms a bearish bias, enter short near Fibonacci 0.0% or 50.0%.
Stop Loss: Below (for buys) or above (for sells) the swing low/high used for Fibonacci.
Take Profit: Target 100.0% retracement level or next key resistance/support.
5. Risk Management
Risk 1-2% per trade.
Avoid trading if price is too far from Fibonacci levels.
Confirm setup with Bollinger Bands alignment.
DTFX Algo Zones [SamuraiJack Mod]CME_MINI:NQ1!
Credits
This indicator is a modified version of an open-source tool originally developed by Lux Algo. I literally modded their indicator to create the DTFX Algo Zones version, incorporating additional features and refinements. Special thanks to Lux Algo for their original work and for providing the open-source code that made this development possible.
Introduction
DTFX Algo Zones is a technical analysis indicator designed to automatically identify key supply and demand zones on your chart using market structure and Fibonacci retracements. It helps traders spot high-probability reversal areas and important support/resistance levels at a glance. By detecting shifts in market structure (such as Break of Structure and Change of Character) and highlighting bullish or bearish zones dynamically, this tool provides an intuitive framework for planning trades. The goal is to save traders time and improve decision-making by focusing attention on the most critical price zones where market bias may confirm or reverse.
Logic & Features
• Market Structure Shift Detection (BOS & CHoCH): The indicator continuously monitors price swings and marks significant structure shifts. A Break of Structure (BOS) occurs when price breaks above a previous swing high or below a swing low, indicating a continuation of the current trend. A Change of Character (ChoCH) is detected when price breaks in the opposite direction of the prior trend, often signaling an early trend reversal. These moments are visually marked on the chart, serving as anchor points for new zones. By identifying BOS and ChoCH in real-time, the DTFX Algo Zones indicator ensures you’re aware of key trend changes as they happen.
• Auto-Drawn Fibonacci Supply/Demand Zones: Upon a valid structure shift, the indicator plots a Fibonacci-based zone between the breakout point and the preceding swing high/low (the source of the move). This creates a shaded area or band of Fibonacci retracement levels (for example 38.2%, 50%, 61.8%, etc.) representing a potential support zone in an uptrend or resistance zone in a downtrend. These supply/demand zones are derived from the natural retracement of the breakout move, highlighting where price is likely to pull back. Each zone is essentially an auto-generated Fibonacci retracement region tied to a market structure event, which traders can use to anticipate where the next pullback or bounce might occur.
• Dynamic Bullish and Bearish Zones: The DTFX Algo Zones indicator distinguishes bullish vs. bearish zones and updates them dynamically as new price action unfolds. Bullish zones (formed after bullish BOS/ChoCH) are typically highlighted in one color (e.g. green or blue) to indicate areas of demand/support where price may bounce upward. Bearish zones (formed after bearish BOS/ChoCH) are shown in another color (e.g. red/orange) to mark supply/resistance where price may stall or reverse downward. This color-coding and real-time updating allow traders to instantly recognize the market bias: for instance, a series of bullish zones implies an uptrend with multiple support levels on pullbacks, while consecutive bearish zones indicate a downtrend with resistance overhead. As old zones get invalidated or new ones appear, the chart remains current with the latest key levels, eliminating clutter from outdated levels.
• Flexible Customization: The indicator comes with several options to tailor the zones to your trading style. You can filter which zones to display – for example, show only the most recent N zones or limit to only bullish or only bearish zones – helping declutter the chart and focus on recent, relevant levels. There are settings to control zone extension (how far into the future the zones are drawn) and to automatically invalidate zones once they’re no longer relevant (for instance, if price fully breaks through a zone or a new structure shift occurs that supersedes it). Additionally, the Fibonacci retracement levels within each zone are customizable: you can choose which retracement percentages to plot, adjust their colors or line styles, and decide whether to fill the zone area for visibility. This flexibility ensures the DTFX Algo Zones can be tuned for different markets and strategies, whether you want a clean minimalist look or detailed zones with multiple internal levels.
Best Use Cases
DTFX Algo Zones is a versatile indicator that can enhance various trading strategies. Some of its best use cases include:
• Identifying High-Probability Reversal Zones: Each zone marks an area where price has a higher likelihood of stalling or reversing because it reflects a significant prior swing and Fibonacci retracement. Traders can watch these zones for entry opportunities when the market approaches them, as they often coincide with order block or strong supply/demand areas. This is especially useful for catching trend reversals or pullbacks at points where risk is lower and potential reward is higher.
• Spotting Key Support and Resistance: The automatically drawn zones act as dynamic support (below price) and resistance (above price) levels. Instead of manually drawing Fibonacci retracements or support/resistance lines, you get an instant map of the key levels derived from recent price action. This helps in quickly identifying where the next bounce (support) or rejection (resistance) might occur. Swing traders and intraday traders alike can use these zones to set alerts or anticipate reaction areas as the market moves.
• Trend-Following Entries: In a trending market, the indicator’s zones provide ideal areas to join the trend on pullbacks. For example, in an uptrend, when a new bullish zone is drawn after a BOS, it indicates a fresh demand zone – buying near the lower end of that zone on a pullback can offer a low-risk entry to ride the next leg up. Similarly, in a downtrend, selling rallies into the highlighted supply zones can position you in the direction of the prevailing trend. The zones effectively serve as a roadmap of the trend’s structure, allowing trend traders to buy dips and sell rallies with greater confidence.
• Mean-Reversion and Range Trading: Even in choppy or range-bound markets, DTFX Algo Zones can help find mean-reversion trades. If price is oscillating sideways, the zones at extremes of the range might mark where momentum is shifting (ChoCH) and price could swing back toward the mean. A trader might fade an extended move when it reaches a strong zone, anticipating a reversion. Additionally, if multiple zones cluster in an area across time (creating a zone overlap), it often signifies a particularly robust support/resistance level ideal for range trading strategies.
In all these use cases, the indicator’s ability to filter out noise and highlight structurally important levels means traders can focus on higher-probability setups and make more informed trading decisions.
Strategy – Pullback Trading with DTFX Algo Zones
One of the most effective ways to use the DTFX Algo Zones indicator is trading pullbacks in the direction of the trend. Below is a step-by-step strategy to capitalize on pullbacks using the zones, combining the indicator’s signals with sound price action analysis and risk management:
1. Identify a Market Structure Shift and Trend Bias: First, observe the chart for a recent BOS or ChoCH signal from the indicator. This will tell you the current trend bias. For instance, a bullish BOS/ChoCH means the market momentum has shifted upward (bullish bias), and a new demand zone will be drawn. A bearish structure break indicates downward momentum and creates a supply zone. Make sure the broader context supports the bias (e.g., if multiple higher timeframe zones are bullish, focus on long trades).
2. Wait for the Pullback into the Zone: Once a new zone appears, don’t chase the price immediately. Instead, wait for price to retrace back into that highlighted zone. Patience is key – let the market come to you. For a bullish setup, allow price to dip into the Fibonacci retracement zone (demand area); for a bearish setup, watch for a rally into the supply zone. Often, the middle of the zone (around the 50% retracement level) can be an optimal area where price might slow down and pivot, but it’s wise to observe price behavior across the entire zone.
3. Confirm the Entry with Price Action & Confluence: As price tests the zone, look for confirmation signals before entering the trade. This can include bullish reversal candlestick patterns (for longs) or bearish patterns (for shorts) such as engulfing candles, hammers/shooting stars, or doji indicating indecision turning to reversal. Additionally, incorporate confluence factors to strengthen the setup: for example, check if the zone overlaps with a key moving average, a round number price level, or an old support/resistance line from a higher timeframe. You might also use an oscillator (like RSI or Stochastic) to see if the pullback has reached oversold conditions in a bullish zone (or overbought in a bearish zone), suggesting a bounce is likely. The more factors aligning at the zone, the more confidence you can have in the trade. Only proceed with an entry once you see clear evidence of buyers defending a demand zone or sellers defending a supply zone.
4. Enter the Trade and Manage Risk: When you’re satisfied with the confirmation (e.g., price starts to react positively off a demand zone or shows rejection wicks in a supply zone), execute your entry in the direction of the original trend. Immediately set a stop-loss order to control risk: for a long trade, a common placement is just below the demand zone (a few ticks/pips under the swing low that formed the zone); for a short trade, place the stop just above the supply zone’s high. This way, if the zone fails and price continues beyond it, your loss is limited. Position size the trade so that this stop-loss distance corresponds to a risk you are comfortable with (for example, 1-2% of your trading capital).
5. Take Profit Strategically: Plan your take-profit targets in advance. A conservative approach is to target the origin of the move – for instance, in a long trade, you might take profit as price moves back up to the swing high (the 0% Fibonacci level of the zone) or the next significant zone or resistance level above. This often yields at least a 1:1 reward-to-risk ratio if you entered around mid-zone. More aggressive trend-following traders may leave a portion of the position running beyond the initial target, aiming for a larger move in line with the trend (for example, new higher highs in an uptrend). You can also trail your stop-loss upward behind new higher lows (for longs) or lower highs (for shorts) as the trend progresses, locking in profit while allowing for further gains.
6. Monitor Zone Invalidation: Even after entering, keep an eye on the behavior around the zone and any new zones that may form. If price fails to bounce and instead breaks decisively through the entire zone, respect that as an invalidation – the market may be signaling a deeper reversal or that the signal was false. In such a case, it’s better to exit early or stick to your stop-loss than to hold onto a losing position. The indicator will often mark or no longer highlight zones that have been invalidated by price, guiding you to shift focus to the next opportunity.
Risk Management Tips:
• Always use a stop-loss and don’t move it farther out in hope. Placing the stop just beyond the zone’s far end (the swing point) helps protect you if the pullback turns into a larger reversal.
• Aim for a favorable risk-to-reward ratio. With pullback entries near the middle or far end of a zone, you can often achieve a reward that equals or exceeds your risk. For example, risking 20 pips to make 20+ pips (1:1 or better) is a prudent starting point. Adjust targets based on market structure – if the next resistance is 50 pips away, consider that upside against your risk.
• Use confluence and context: Don’t take every zone signal in isolation. The highest probability trades come when the DTFX Algo Zone aligns with other analysis (trend direction, chart patterns, higher timeframe support/resistance, etc.). This filtered approach will reduce trades taken in weak zones or counter-trend traps.
• Embrace patience and selectivity: Not all zones are equal. It can be wise to skip very narrow or insignificant zones and wait for those that form after a strong BOS/ChoCH (indicating a powerful move). Larger zones or zones formed during high-volume times tend to produce more reliable pullback opportunities.
• Review and adapt: After each trade, note how price behaved around the zone. If you notice certain Fib levels (like 50% or 61.8%) within the zone consistently provide the best entries, you can refine your approach to focus on those. Similarly, adjust the indicator’s settings if needed – for example, if too many minor zones are cluttering your screen, limit to the last few or increase the structure length parameter to capture only more significant swings.
⸻
By combining the DTFX Algo Zones indicator with disciplined confirmation and risk management, traders can improve their timing on pullback entries and avoid chasing moves. This indicator shines in helping you trade what you see, not what you feel – the clearly marked zones and structure shifts keep you grounded in price action reality. Whether you’re a trend trader looking to buy the dip/sell the rally, or a reversal trader hunting for exhaustion points, DTFX Algo Zones provides a robust visual aid to elevate your trading decisions. Use it as a complementary tool in your analysis to stay on the right side of the market’s structure and enhance your trading performance.
Rally Base Drop SND Pivots Strategy [LuxAlgo X PineIndicators]This strategy is based on the Rally Base Drop (RBD) SND Pivots indicator developed by LuxAlgo. Full credit for the concept and original indicator goes to LuxAlgo.
The Rally Base Drop SND Pivots Strategy is a non-repainting supply and demand trading system that detects pivot points based on Rally, Base, and Drop (RBD) candles. This strategy automatically identifies key market structure levels, allowing traders to:
Identify pivot-based supply and demand (SND) zones.
Use fixed criteria for trend continuation or reversals.
Filter out market noise by requiring structured price formations.
Enter trades based on breakouts of key SND pivot levels.
How the Rally Base Drop SND Pivots Strategy Works
1. Pivot Point Detection Using RBD Candles
The strategy follows a rigid market structure methodology, where pivots are detected only when:
A Rally (R) consists of multiple consecutive bullish candles.
A Drop (D) consists of multiple consecutive bearish candles.
A Base (B) is identified as a transition between Rallies and Drops, acting as a pivot point.
The pivot level is confirmed when the formation is complete.
Unlike traditional fractal-based pivots, RBD Pivots enforce stricter structural rules, ensuring that each pivot:
Has a well-defined bullish or bearish price movement.
Reduces false signals caused by single-bar fluctuations.
Provides clear supply and demand levels based on structured price movements.
These pivot levels are drawn on the chart using color-coded boxes:
Green zones represent bullish pivot levels (Rally Base formations).
Red zones represent bearish pivot levels (Drop Base formations).
Once a pivot is confirmed, the high or low of the base candle is used as the reference level for future trades.
2. Trade Entry Conditions
The strategy allows traders to select from three trading modes:
Long Only – Only takes long trades when bullish pivot breakouts occur.
Short Only – Only takes short trades when bearish pivot breakouts occur.
Long & Short – Trades in both directions based on pivot breakouts.
Trade entry signals are triggered when price breaks through a confirmed pivot level:
Long Entry:
A bullish pivot level is formed.
Price breaks above the bullish pivot level.
The strategy enters a long position.
Short Entry:
A bearish pivot level is formed.
Price breaks below the bearish pivot level.
The strategy enters a short position.
The strategy includes an optional mode to reverse long and short conditions, allowing traders to experiment with contrarian entries.
3. Exit Conditions Using ATR-Based Risk Management
This strategy uses the Average True Range (ATR) to calculate dynamic stop-loss and take-profit levels:
Stop-Loss (SL): Placed 1 ATR below entry for long trades and 1 ATR above entry for short trades.
Take-Profit (TP): Set using a Risk-Reward Ratio (RR) multiplier (default = 6x ATR).
When a trade is opened:
The entry price is recorded.
ATR is calculated at the time of entry to determine stop-loss and take-profit levels.
Trades exit automatically when either SL or TP is reached.
If reverse conditions mode is enabled, stop-loss and take-profit placements are flipped.
Visualization & Dynamic Support/Resistance Levels
1. Pivot Boxes for Market Structure
Each pivot is marked with a colored box:
Green boxes indicate bullish demand zones.
Red boxes indicate bearish supply zones.
These boxes remain on the chart to act as dynamic support and resistance levels, helping traders identify key price reaction zones.
2. Horizontal Entry, Stop-Loss, and Take-Profit Lines
When a trade is active, the strategy plots:
White line → Entry price.
Red line → Stop-loss level.
Green line → Take-profit level.
Labels display the exact entry, SL, and TP values, updating dynamically as price moves.
Customization Options
This strategy offers multiple adjustable settings to optimize performance for different market conditions:
Trade Mode Selection → Choose between Long Only, Short Only, or Long & Short.
Pivot Length → Defines the number of required Rally & Drop candles for a pivot.
ATR Exit Multiplier → Adjusts stop-loss distance based on ATR.
Risk-Reward Ratio (RR) → Modifies take-profit level relative to risk.
Historical Lookback → Limits how far back pivot zones are displayed.
Color Settings → Customize pivot box colors for bullish and bearish setups.
Considerations & Limitations
Pivot Breakouts Do Not Guarantee Reversals. Some pivot breaks may lead to continuation moves instead of trend reversals.
Not Optimized for Low Volatility Conditions. This strategy works best in trending markets with strong momentum.
ATR-Based Stop-Loss & Take-Profit May Require Optimization. Different assets may require different ATR multipliers and RR settings.
Market Noise May Still Influence Pivots. While this method filters some noise, fake breakouts can still occur.
Conclusion
The Rally Base Drop SND Pivots Strategy is a non-repainting supply and demand system that combines:
Pivot-based market structure analysis (using Rally, Base, and Drop candles).
Breakout-based trade entries at confirmed SND levels.
ATR-based dynamic risk management for stop-loss and take-profit calculation.
This strategy helps traders:
Identify high-probability supply and demand levels.
Trade based on structured market pivots.
Use a systematic approach to price action analysis.
Automatically manage risk with ATR-based exits.
The strict pivot detection rules and built-in breakout validation make this strategy ideal for traders looking to:
Trade based on market structure.
Use defined support & resistance levels.
Reduce noise compared to traditional fractals.
Implement a structured supply & demand trading model.
This strategy is fully customizable, allowing traders to adjust parameters to fit their market and trading style.
Full credit for the original concept and indicator goes to LuxAlgo.
IU BBB(Big Body Bar) StrategyDESCRIPTION
The IU BBB (Big Body Bar) Strategy is a price action-based trading strategy that identifies high-momentum candles with significantly larger body sizes compared to the average. It enters trades when a strong bullish or bearish move occurs and manages risk using an ATR-based trailing stop-loss system.
USER INPUTS:
- Big Body Threshold – Defines how many times larger the candle body should be compared to the average body ( default is 4 ).
- ATR Length – The period for the Average True Range (ATR) used in the trailing stop-loss calculation ( default is 14 ).
- ATR Factor – Multiplier for ATR to determine the trailing stop distance ( default is 2 ).
LONG CONDITION:
- The current candle’s body is greater than the average body size multiplied by the Big Body Threshold.
- The closing price is higher than the opening price (bullish candle).
SHORT CONDITION:
- The current candle’s body is greater than the average body size multiplied by the Big Body Threshold.
- The closing price is lower than the opening price (bearish candle).
LONG EXIT:
- ATR-based trailing stop-loss dynamically adjusts, locking in profits as the price moves higher.
SHORT EXIT:
- ATR-based trailing stop-loss dynamically adjusts, securing profits as the price moves lower.
WHY IT IS UNIQUE:
- Unlike traditional momentum strategies, this system adapts to volatility by filtering trades based on relative candle size.
- It incorporates an ATR-based trailing stop-loss, ensuring risk management and profit protection.
- The strategy avoids choppy market conditions by only trading when significant momentum is present.
HOW USERS CAN BENEFIT FROM IT:
- Catch Strong Price Moves – The strategy helps traders enter trades when the market shows decisive momentum.
- Effective Risk Management – The ATR-based trailing stop ensures that winning trades remain profitable.
- Works Across Markets – Can be applied to stocks, forex, crypto, and indices with proper optimization.
- Fully Customizable – Users can adjust sensitivity settings to match their trading style and time frame.
Smart Scalper Indicator🎯 How the Smart Scalper Indicator Works
1. EMA (Exponential Moving Average)
EMA 10 (Blue Line):
Shows the short-term trend.
If the price is above this line, the trend is bullish; if below, bearish.
EMA 20 (Orange Line):
Displays the longer-term trend.
If EMA 10 is above EMA 20, it indicates a bullish trend (Buy signal).
2. SuperTrend
Green Line:
Represents support levels.
If the price is above the green line, the market is considered bullish.
Red Line:
Represents resistance levels.
If the price is below the red line, the market is considered bearish.
3. VWAP (Volume Weighted Average Price)
Purple Line:
Indicates the average price considering volume.
If the price is above the VWAP, the market is strong (Buy signal).
If the price is below the VWAP, the market is weak (Sell signal).
4. ATR (Average True Range)
Used to measure market volatility.
An increasing ATR indicates higher market activity, enhancing the reliability of signals.
ATR is not visually displayed but is factored into the signal conditions.
⚡ Entry Signals
Green Up Arrow (Buy):
EMA 10 is above EMA 20.
The price is above the SuperTrend green line.
The price is above the VWAP.
Volatility (ATR) is increasing.
Red Down Arrow (Sell):
EMA 10 is below EMA 20.
The price is below the SuperTrend red line.
The price is below the VWAP.
Volatility (ATR) is increasing.
🔔 Alerts
"Buy Alert" — Notifies when a Buy condition is met.
"Sell Alert" — Notifies when a Sell condition is met.
✅ How to Use the Indicator:
Add the indicator to your TradingView chart.
Enable alerts to stay updated on signal triggers.
Check the signal:
A green arrow suggests a potential Buy.
A red arrow suggests a potential Sell.
Set Stop-Loss:
Below the SuperTrend line or based on ATR levels.
Take Profit:
Target 1-2% for short-term trades.